===========================================================================================
|
|   UNOFFICIAL SNES POWERPAK FIRMWARE V2.00-BETA1 (CODENAMED "SIMBA")
|   (c) 2012 by ManuLwe (http://www.manuloewe.de/)
|
|	*** USAGE & INSTALLATION ***
|
===========================================================================================



   A WORD OF WARNING !!!
______________________________________________________________________

Despite thorough testing, this software is NOT guaranteed to be bug-free. There are likely even critical issues in this software which might at worst corrupt data on your CF card and/or render your SNES PowerPak useless and/or damage your SNES control deck, as well as any accessory connected to it (like joypads, your TV set, etc.). The developer, ManuLwe, will NOT be held responsible for any harm directly or indirectly caused by this software and/or the documents accompanying it, which you agree upon by downloading, installing and using this software. For more information, please read the disclaimer further below.



   OVERVIEW
______________________________________________________________________

Thank you so much for downloading and installing my unofficial firmware v2.00 for the SNES PowerPak!

As a huge fan of this awesome flashcart myself ever since it was released in late 2009, I decided to give it a much-needed menu redesign earlier this year. Starting off as a simple font hack, this project quickly evolved into a full-blown, time-consuming GUI overhaul as I discovered how much more was possible, and necessary, in the process. Eventually, after obtaining The Sourcecode(tm) from the original developer, I was able to progress ever faster and smoother, the result of which is finally here for all you SNES PowerPak gamers to enjoy. :-)

Major new features include a custom font and three user-switchable logo graphics, plus some neat HDMA effects, all of which contribute to giving the PowerPak GUI a more polished look than before. This, as well as the completely rewritten music player (now based on blargg's fantastic SPC uploading routines), aims to push the SNES PowerPak to a point where it shows its full potential, or at least something close to it.

The core change since v1.0X, however, is using the SNES's pseudo hi-res BG mode 5, which now allows the filebrowser to display well over 50 characters per entry. Although this slows down file browsing to a certain extent due to the higher amount of data being loaded, it finally helps to distinguish between ROM and save files with especially long yet similar names. For example, let's assume you have these two game/savefile pairs on your CF card:

Final Fantasy IV (English) - Cosmetic Changes.sfc
Final Fantasy IV (English) - Cosmetic Changes.srm
Final Fantasy IV (English) - Cosmetic Changes 2.sfc
Final Fantasy IV (English) - Cosmetic Changes 2.srm

The two ROMs will not only be visibly different, but also auto-load their respective savegame files without mistake now!

Additionally, I tried to optimize button mapping wherever necessary (see next section for details), spent time fixing bugs and quirks all over, and added some unobtrusive yet nice-to-notice visual enhancements here and there.



   INSTALLATION
______________________________________________________________________

To install this unofficial SNES PowerPak firmware v2.00, you are required to perform two steps:

1) Update your PowerPak's boot FlashROM chip with snes_powerpak_loader_v2.00.bin,
2) Replace the CF module files in the "POWERPAK" directory on your CF card with those from this release (while keeping your "SAVES" directory intact, of course).

The first step is likely the more difficult one. If you have a SNES PowerPak revision D or E (which can be determined by having a look at the printing on the PCB in the CF card slot), it shouldn't involve more than opening up the cart, removing the flash chip and reprogramming it with a Willem or other programmer that supports PLCC32 type of chips. My own PowerPak is rev. D with an ATMEL AT29C010A boot ROM chip, but I know of at least one rev. E PowerPak with an SST 39SF010A chip installed.

Be careful when you remove the chip, it's likely not glued on but I still had an incredibly hard time getting it out of its socket the first time. This should be done with extreme care in order to avoid damage to you, the PowerPak, and/or any equipment you might be using. PLCC32 tweezers are recommended, though even these might cause damage to the socket if you aren't especially careful.

After reprogramming the chip, put it back in - again, with care, despite the fact that some gentle force might be required to avoid connection problems. Then, insert the PowerPak WITHOUT A CF CARD (!) into your SNES and fire it up. If it shows the logo and gives you a "CF card not found" error, then good, please proceed to the next step. :-) If not, you likely made a mistake somewhere and have to start over.

Next is preparing the CF card. Note that it is recommended to start from scratch, i.e. with a fresh, completely wiped card. Copy over the "POWERPAK" directory from this release, and you're basically done. You might want to add savegames to the /SAVES folder, or to any other directory on the card, as well as ROMs, of course.

If you don't want to wipe your CF card first, that's fine, but then please don't complain if it doesn't work. :p Load the card up on your computer, browse to the "POWERPAK" directory and - provided you aren't using it interchangeably with a NES PowerPak - delete everything in there except for the following files:

	/SAVES		<-- this is where your savegames are likely stored
	CONFIG.TXT	<-- user configuration file
	LASTSNES.TXT	<-- holds information about the last played game
	LOG.TXT		<-- holds information about failed ROM loadings, or a user-invoked screen log
	SA.MAP		<-- module: SRAM auto-loading
	SB.MAP		<-- module: SRAM choosing
	SG.MAP		<-- module: GameGenie handler
	SI.MAP		<-- module: intro screen
	SM.MAP		<-- module: game mapping
	SN.MAP		<-- module: ROM browser/loader
	SO.MAP		<-- module: options screen
	SP.MAP		<-- module: SPC player
	SQ.MAP		<-- module: SRAM auto-saving
	TOPLEVEL.BIT	<-- FPGA configuration file

Next, copy over all the files in this release's "POWERPAK" folder, overwriting all existing files in the process. Note that two new files will be added (SD.MAP and SD.SPC), the purpose of which you'll probably quickly find out. ;-) Also, LOG.TXT will be 2 KB in size, which is crucial for the rewritten screen logging feature to work. Oh, and you might want to edit CONFIG.TXT to suit your liking. ;-)

Okay, now it's finally time to re-load your ROMs (and savegames, possibly) onto the CF card. It is not recommended to put more than ~250 files into each directory. I haven't tested it, and it might very well crash your PowerPak. So try and organize fewer files in more subdirectories just to be safe.

Lastly, install the CF card into your PowerPak ... and play! :D



   BUTTON MAPPING
______________________________________________________________________

I'll limit this to anything that was changed since v1.0X (or undocumented therein). :-)

Intro screen:
- The directional pad as well as the L and R shoulder buttons are now ignored. L+R pressed together have a new function that you might want to explore yourself. ;-)

Filebrowser:
- Up/down on the directional pad make the cursor move "digitally" instead of scroll slowly from entry to entry. Note that holding either of these buttons has no effect any more.
- Left/right on the directional pad make the cursor scroll just as fast as the L/R shoulder buttons did in v1.0X (left = up, right = down).
- The L/R shoulder buttons allow you to skip entire pages (L = previous page, R = next page). To avoid confusion, there is a built-in "stop" at the beginning or end of a directory.
- Start can be used almost anywhere to return to the intro screen, with three exceptions:
  1) When in the ROM browser, Start will take you to the options screen with the game pre-selected that was played last.
  2) When choosing a GameGenie code TXT file before playing a game, Start will take you back to the options screen.
     (WARNING: Please consult the list of known issues for information about a potentially harmful crashing bug related to this!)
  3) When choosing an SRAM file after playing a game, Start is ignored. You wouldn't have selected this option anyway if you wanted to discard the SRAM, would you? ;-)

Options screen (this is where you add SRAM and/or GameGenie codes):
- When entering GameGenie codes, A/X/R make a value increase, while B/Y/L decrease it.
- Hold Select to show decoded GameGenie codes.
- Hold Select while the chosen game is being loaded to have its mapping logged to LOG.TXT, and pause on the mapping screen. Press Select again to actually start playing the game. (Otherwise, only failed ROM loading attempts will be logged.)
- Press Start in case ROM loading failed to return to the intro screen.



   COMPILING THE SOURCE
______________________________________________________________________

If you want to compile the source for yourself using the included make script, you have to obtain the following tools first, which it calls in the process:

- WLA DX v9.3 Windows binaries
- head.exe from the GNU utilities' Win32 port
- snestools.exe v0.1.0 from Alekmaul's PVSnesLib release
- zerofill.exe from Neill Corlett's command line pack v1.03



   CREDITS & THANKS
______________________________________________________________________

Thanks go out to the following people (in no particular order):

- ikari_01 (the Great) for tips and hints concerning HDMA and pseudo hi-res mode
- blargg for his amazing SPC uploading routines
- bunnyboy for creating the SNES PowerPak, and for silently releasing the loader sourcecode upon my persistent request! :D



   DISCLAIMER
______________________________________________________________________

All trademarks mentioned in this readme file are the property of their respective owners.

This software is freeware. It is provided "as is" and without express or implied warranty of any kind. ManuLwe will not be held liable or responsible for any losses, damages, injuries, and/or legal consequences due to the misuse and/or illegal use of any of the files contained within this archive. 

The archive may be redistributed freely under the circumstance that no file(s) is/are added, changed, and/or removed.

ManuLwe is not affiliated in any way with The Retrozone / RetroUSB or Nintendo.
